There is no widely standardized method for communicating with networked devices. Different manufacturers support different standards, often specific to only the devices of the manufacturer. Operating systems, such as Windows® for example, allow the installation of vendor-supplied drivers, which translate commands executed against the Windows® application programming interface (API) into vendor-specific commands. The commands are sent “over the wire” to the networked device in vendor-specific ways.
However, other operating systems may not have such drivers. For example, operating systems of mobile devices cannot typically use such drivers natively. While some vendors may offer drivers for these platforms, there is a need for programs running on operating systems of mobile devices to be able to connect to and control these networked devices, which is difficult with the current state of technology.
One could create a separate driver for every possible operating system, whether desktop or mobile. However, creating drivers is a labor intensive and error prone process.